package demo2;

import javax.swing.tree.TreeNode;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: Home-pc
 * Date: 2023-08-24
 * Time: 16:57
 */
/* class TreeNode {
     int val;
     TreeNode left;
      TreeNode right;
     TreeNode() {}
      TreeNode(int val) { this.val = val; }
      TreeNode(int val, TreeNode left, TreeNode right) {
          this.val = val;
          this.left = left;
          this.right = right;
      }
  }
public class Solution {
    public  int preIndex=0;
    public TreeNode buildTree(int[] preorder,int[] inorder){
        return buildTreeChild(preorder,inorder,0,inorder.length-1);
    }
    public  TreeNode buildTreeChild(int[] preorder,int[] inorder,int inbegin,int inend){
        if(inbegin>inend){
            return null;
        }
        TreeNode root=new TreeNode(preorder[preIndex]);
        int rootIndex=findIndex(inorder,inbegin,inend,preorder[preIndex]);
        preIndex++;
        root.left=buildTreeChild(preorder,inorder,inbegin,rootIndex-1);
        root.right=buildTreeChild(preorder,inorder,rootIndex+1,inend);

        return root;


    }
    public int findIndex(int[] inorder,int inbegin,int inend,int key){
        for (int i = inbegin; i <=inend; i++) {
            if(inorder[i]==key){
                return i;
            }
        }
        return -1;
    }
}*/
